package com.liuqi.openai.core.client;


/**
 * 流式响应回调
 *
 * @param <Response> {@link com.liuqi.openai.core.chat.ChatCompletionResponse}
 *                  {@link com.liuqi.openai.core.completion.CompletionResponse}
 *
 * @author liuqi
 * @date 2025/7/18
 **/

public interface StreamHandler<Response> {

    /**
     * 接收到流式响应的块数据, 通过此方法回调
     *
     */
    void onResponse(Response response);

    /**
     * 接收到流式响应的结束事件, 通过此方法回调
     */
    void onComplete();

    /**
     * 当发生异常时, 进行回调
     */
    default void onError(Throwable t) { }

}
